package com.simulation.web.service;

import com.github.pagehelper.PageInfo;
import com.simulation.web.domain.TechTeams;
import com.simulation.web.dto.TaskTeamMemberDTO;
import com.simulation.web.vo.TechTeamMembersVO;
import com.simulation.web.vo.TechTeamVO;

import java.util.List;

public interface TeamService {

    /**
     * 新建团队
     * @param team
     * @return
     */
    int insert(TechTeams team);

    /**
     * 删除团队
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 查询指定用户的所有团队
     * @param leaderId
     * @return
     */
    List<TechTeamVO> getTeamsByLeaderId(Long leaderId);

    /**
     * 查询指定团队ID的团队详情
     * @param id
     * @return
     */
    TechTeamVO getTeamById(Long id);

    /**
     * 更新团队
     */
    int update(TechTeams team);

    /**
     * 根据团队编码获取团队
     * @param teamCode
     * @return
     */
    TechTeamVO getTeamByTeamCode(String teamCode);

    /**
     * 用户所在班级
     * @param userId
     * @return
     */
    List<TechTeamVO> getTeamByTeamUserId(Long userId);

    /**
     *
     * @param taskTeamMemberDTO
     * @return
     */
    PageInfo<TechTeamMembersVO> getTeamPageByuserId(TaskTeamMemberDTO taskTeamMemberDTO);


}